package Logica;

public class RebotarPelotaRaquetaSuperior {

	public RebotarPelotaRaquetaSuperior() {
	}
	
	public int[] rebotarPelota(int posXPelota, int posYPelota, int posXRaqueta, int posYRaqueta, int velXPelota, int velYPelota, int puntaje, int correrJuego) {
		
		if (posYPelota >= posYRaqueta - 50 
			&& posYPelota >= posYRaqueta - 45) {
			if (posXPelota >= posXRaqueta - 20
					&& posXPelota <= posXRaqueta + 25) {// Si la pelota choca
														// con la raqueta en la
														// parte superior
														// izquierda
				velYPelota = -(int) (Math.random() * 1) - 1;
				velXPelota = -(int) (Math.random() * 1) - 1;
				puntaje++;
				return new int[]{posXPelota, posYPelota, posXRaqueta, posYRaqueta, velXPelota, velYPelota, puntaje, correrJuego};
			}
			
			if (posXPelota > posXRaqueta + 25
					&& posXPelota < posXRaqueta + 155) {// Si la pelota choca
														// con la raqueta en la
														// parte superior
														// central
				velYPelota = -(int) (Math.random() * 1) - 1;
				puntaje++;
				return new int[]{posXPelota, posYPelota, posXRaqueta, posYRaqueta, velXPelota, velYPelota, puntaje, correrJuego};
			}
			
			if (posXPelota >= posXRaqueta + 155
					&& posXPelota <= posXRaqueta + 190) {// Si la pelota choca
														// con la raqueta en la
														// parte superior
														// derecha
				velYPelota = -(int) (Math.random() * 1) - 1;
				velXPelota = (int) (Math.random() * 1) + 1;
				puntaje++;
				return new int[]{posXPelota, posYPelota, posXRaqueta, posYRaqueta, velXPelota, velYPelota, puntaje, correrJuego};
			}
			
			return new int[]{posXPelota, posYPelota, posXRaqueta, posYRaqueta, velXPelota, velYPelota, puntaje, correrJuego};
		}
		
		return new RebotarPelotaRaquetaLaterales().rebotarPelota(posXPelota, posYPelota, posXRaqueta, posYRaqueta, velXPelota, velYPelota, puntaje, correrJuego);
	}
}